package com.fowo.api.model.nav.sell.order.declare;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fowo.api.common.validator.*;
import io.swagger.v3.oas.annotations.media.Schema;
import javax.validation.constraints.*;
import lombok.Getter;
import lombok.Setter;

/**
 * 订单管理报关信息 预览导入辅助模型(全字段为文本类型)
 * @author yl_ls
 */
@Getter
@Setter
public class NavSellOrderDeclareImportPo {

  /** 所属订单管理 */
  @ExcelProperty("所属订单管理")
  private String parentNavSellOrderOrderId;

  @ExcelIgnore
  @Schema(title = "所属订单管理")
  private String parentNavSellOrder;

  /** 产品 */
  @ExcelProperty("产品")
  @Size(max = 500, message = "产品长度不能超过500")
  private String productIdName;

  @ExcelIgnore
  @Schema(title = "产品")
  private String productId;

  /** 品名 */
  @ExcelProperty("品名")
  @Size(max = 50, message = "品名长度不能超过50")
  private String productName;

  /** SKU */
  @ExcelProperty("SKU")
  @Size(max = 50, message = "SKU长度不能超过50")
  private String sku;

  /** 中文报关名 */
  @ExcelProperty("中文报关名")
  @Size(max = 50, message = "中文报关名长度不能超过50")
  private String chineseName;

  /** 英文报关名 */
  @ExcelProperty("英文报关名")
  @Size(max = 50, message = "英文报关名长度不能超过50")
  private String englishName;

  /** 单价 */
  @ExcelProperty("单价")
  @DecimalString(message = "单价小数格式不正确", label = "单价")
  private String customsCharges;

  /** 重量 */
  @ExcelProperty("重量")
  @DecimalString(message = "重量小数格式不正确", label = "重量")
  private String packingWeight;

  /** 海关编码 */
  @ExcelProperty("海关编码")
  @Size(max = 50, message = "海关编码长度不能超过50")
  private String customsCode;

  /** 数量 */
  @ExcelProperty("数量")
  @IntegerString(message = "数量数值格式不正确", label = "数量", min = 0)
  private String quantity;
}
